package com.avo.ramcache.service;

import com.avo.ramcache.config.IEntity;

import java.io.Serializable;
import java.util.Comparator;
import java.util.List;
import java.util.Set;

public interface CacheFinder<PK extends Serializable & Comparable<PK>, T extends IEntity<PK>> {

    Set<T> find(Filter<T> filter);

    List<T> sort(Comparator<T> comparator);

    List<T> find(Filter<T> filter, Comparator<T> comparator);

    Set<T> all();

    int getAllSize();

}
